import Vue from 'vue'
import App from './App.vue'
import router from './router'

// 1.引入Vainz ui 2.引入css 3.全局 注册vain
import vant, { Toast } from 'vant'
import 'vant/lib/index.css'
Vue.use(vant);

// 引入下载的axios 绑定到原型
import axios from 'axios'
Vue.prototype.$axios = axios;


//封装设置baseURL设定基础路径
axios.defaults.baseURL = "http://157.122.54.189:9083";

//创建请求拦截器
axios.interceptors.request.use(config => {

    if (!config.headers.Authorization && window.localStorage.getItem('token')) {
        config.headers.Authorization = localStorage.getItem('token')
    }
    return config;
});




//创建响应拦截器
axios.interceptors.response.use(res => {
    //验证返回的值做正则判断
    const errverify = /^4\d{2}$/;
    if (errverify.test(res.data.statusCode)) {
        // 这里没办法用this.要先引用van中的toast然后在使用插件  (同时前端不能信任后端,可能没有数据,在写个或逻辑)
        Toast(res.data.message || "系统错误");
    }
    //当获取的数据是验证失败就踢出去
    if (res.data.message === "用户信息验证失败") {
        window.localStorage.removeItem("token");
        window.localStorage.removeItem("tokenid");
        router.replace("/login");
    }
    //这里的return是要把数据返回出去
    return res;
});



//产品提示信息
Vue.config.productionTip = false;

//实例挂载
new Vue({
    router,
    render: function(h) { return h(App) }
}).$mount('#app');